﻿using DevExpress.XtraGrid.Demos.util;
using Luna小店.DTO;
using Luna小店.service;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Luna小店.model
{
    public class 面料导入Model
    {
        public List<面料导入DTO> 面料导入DTOs = new List<面料导入DTO>();   //  用来显示
        private List<String> MATERIAL_CODEs = new List<string>();   //  物料编码列表

        public 面料导入Model(List<面料导入DTO> 面料导入DTOs) { 
            foreach(面料导入DTO 面料导入DTO in 面料导入DTOs){
                if (MATERIAL_CODEs.Contains(面料导入DTO.MATERIAL_CODE))
                {
                    //  物料编码冲突
                }
                else {
                    this.MATERIAL_CODEs.Add(面料导入DTO.MATERIAL_CODE);
                }
            }
            List<面料导入DTO> 已存在面料s = FabricService.get面料导入DTOByCodes(this.MATERIAL_CODEs);

            foreach (面料导入DTO 导入面料 in 面料导入DTOs) {
                bool isConflict = false;    //  标明是否冲突，默认不冲突
                foreach (面料导入DTO 已存在面料 in 已存在面料s) {
                    if (已存在面料.MATERIAL_CODE.Equals(导入面料.MATERIAL_CODE)) {
                        //  冲突
                        isConflict = true;
                        break;
                    }
                }
                if (!isConflict) {
                    //  不冲突，加入列表
                    this.面料导入DTOs.Add(导入面料.buildConflict(isConflict));
                }
            }

            this.面料导入DTOs.AddRange(已存在面料s); //  数据库面料
        }

    }
}
